package com.common.entity.admin;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 定时任务调度表
 * </p>
 *
 * @author zhaobo
 * @since 2025-10-11
 */
@Getter
@Setter
@TableName("sys_job")
@ApiModel(value = "SysJob对象", description = "定时任务调度表")
public class Job extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("任务ID")
    @TableId(value = "job_id", type = IdType.AUTO)
    private Long jobId;

    @ApiModelProperty("任务名称")
    private String jobName;

    @ApiModelProperty("任务组名")
    private String jobGroup;

    @ApiModelProperty("调用目标字符串")
    @TableField("invoke_target")
    private String invokeTarget;

    @ApiModelProperty("cron执行表达式")
    @TableField("cron_expression")
    private String cronExpression;

    @ApiModelProperty("计划执行错误策略（1立即执行 2执行一次 3放弃执行）")
    @TableField("misfire_policy")
    private String misfirePolicy;

    @ApiModelProperty("是否并发执行（0允许 1禁止）")
    @TableField("concurrent")
    private String concurrent;

    @ApiModelProperty("状态（0正常 1暂停）")
    @TableField("status")
    private String status;

    @ApiModelProperty("备注信息")
    @TableField("remark")
    private String remark;
}
